﻿using System;
using System.Linq;

namespace T06ArrayType
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 一维数组
            
            int[] array1 = new int[10];
            int[] array2 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            for (int j = 0;j <array1.Length;j++)
            {
                array1[j] = (j + 1) * 10;
            }

            foreach (int _x in array2)
            {
                Console.WriteLine($"{_x}\t");
            }
            Console.WriteLine("================一维数组==================");

            #endregion System.Array类
            //System.Array的使用，拆箱装箱
            //Ctrl + M , M  

            Console.WriteLine(array1.Max());
            Console.WriteLine(array1.Min());
            array1.Reverse();
            foreach (int _x in array1.Reverse ())
            {
                Console.WriteLine($"{_x}\t");
            }
            Console.WriteLine("=================Array包装类==================");



            #region  多维数组
            int[,] array3 = new int[3, 4];//二维数组
            int[,,] array4 = new int[3, 4, 5];//三维数组
            for (int i = 0; i < array3.GetLength (0); i++)//0 —— 表示二维数组的第1维
            { 
                for (int j = 0;j < array3.GetLength (1); j++)//1 —— 表示二维数组的第2维
                {
                    array3[i, j] = (i + 1) * (j + 1);
                    Console.WriteLine($"{array3[i,j]}\t");
                }
                Console.WriteLine();
            }

            #endregion 
            int[][] array5 = new int[3][];//具有三个数组元素的数组

            //初始化
            //for （int i = 0;i < 3; i++）
            //{
            //    array5[i] = new int[4];//创建每个数组元素——为4个元素的数组
            //}
            array5[0] = new int[2] { 1, 2 };
            array5[1] = new int[3] { 3, 4, 5  };
            array5[2] = new int[4] { 6, 7, 8, 9 };
            foreach (int[] arr in array5)
            {
                foreach (int _x in arr)
                {
                    Console.WriteLine($"{_x}\t");
                }
            }
            Console.WriteLine();
            Console.WriteLine("=================数组的数组==================");



            #endregion 

            Console.ReadKey();
        }
    }
}
